home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / ViewportLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  1.9 KB  |  79 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Insets;
  7. import java.awt.LayoutManager;
  8. import java.awt.Point;
  9. import java.io.Serializable;
  10.  
  11. public class ViewportLayout implements LayoutManager, Serializable {
  12.    public void addLayoutComponent(String var1, Component var2) {
  13.    }
  14.  
  15.    public void layoutContainer(Container var1) {
  16.       JViewport var2 = (JViewport)var1;
  17.       Component var3 = var2.getView();
  18.       Scrollable var4 = null;
  19.       if (var3 != null) {
  20.          if (var3 instanceof Scrollable) {
  21.             var4 = (Scrollable)var3;
  22.          }
  23.  
  24.          Insets var5 = var2.getInsets();
  25.          Dimension var6 = var3.getPreferredSize();
  26.          Dimension var7 = ((Component)var2).getSize();
  27.          Dimension var8 = var2.toViewCoordinates(var7);
  28.          Dimension var9 = new Dimension(var6);
  29.          if (var4 != null) {
  30.             if (var4.getScrollableTracksViewportWidth()) {
  31.                var9.width = var7.width;
  32.             }
  33.  
  34.             if (var4.getScrollableTracksViewportHeight()) {
  35.                var9.height = var7.height;
  36.             }
  37.          }
  38.  
  39.          Point var10 = var2.getViewPosition();
  40.          if (var10.x + var8.width > var9.width) {
  41.             var10.x = Math.max(0, var9.width - var8.width);
  42.          }
  43.  
  44.          if (var10.y + var8.height > var9.height) {
  45.             var10.y = Math.max(0, var9.height - var8.height);
  46.          }
  47.  
  48.          if (var4 == null) {
  49.             if (var10.x == 0 && var7.width > var6.width) {
  50.                var9.width = var7.width;
  51.             }
  52.  
  53.             if (var10.y == 0 && var7.height > var6.height) {
  54.                var9.height = var7.height;
  55.             }
  56.          }
  57.  
  58.          var2.setViewPosition(var10);
  59.          var2.setViewSize(var9);
  60.       }
  61.    }
  62.  
  63.    public Dimension minimumLayoutSize(Container var1) {
  64.       return new Dimension(4, 4);
  65.    }
  66.  
  67.    public Dimension preferredLayoutSize(Container var1) {
  68.       Component var2 = ((JViewport)var1).getView();
  69.       if (var2 == null) {
  70.          return new Dimension(0, 0);
  71.       } else {
  72.          return var2 instanceof Scrollable ? ((Scrollable)var2).getPreferredScrollableViewportSize() : var2.getPreferredSize();
  73.       }
  74.    }
  75.  
  76.    public void removeLayoutComponent(Component var1) {
  77.    }
  78. }
  79.